From 07d1ea4356617fe7a26e0a0cbf10c5f9e46dae33 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Thu, 7 Nov 2019 06:49:43 +0100 Subject: [PATCH] cssimagerecolor: Avoid copying colors --- gtk/gtkcssimagerecolor.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/gtk/gtkcssimagerecolor.c b/gtk/gtkcssimagerecolor.c index 98e1ff2e80..f9afa12f9e 100644 --- a/gtk/gtkcssimagerecolor.c +++ b/gtk/gtkcssimagerecolor.c @@ -174,24 +174,25 @@ gtk_css_image_recolor_snapshot (GtkCssImage *image, double height) { GtkCssImageRecolor *recolor = GTK_CSS_IMAGE_RECOLOR (image); + const GdkRGBA *fg = &recolor->color; + const GdkRGBA *sc = &recolor->success; + const GdkRGBA *wc = &recolor->warning; + const GdkRGBA *ec = &recolor->error; graphene_matrix_t matrix; graphene_vec4_t offset; - GdkRGBA fg = recolor->color; - GdkRGBA sc = recolor->success; - GdkRGBA wc = recolor->warning; - GdkRGBA ec = recolor->error; if (recolor->texture == NULL) return; graphene_matrix_init_from_float (&matrix, (float[16]) { - sc.red - fg.red, sc.green - fg.green, sc.blue - fg.blue, 0, - wc.red - fg.red, wc.green - fg.green, wc.blue - fg.blue, 0, - ec.red - fg.red, ec.green - fg.green, ec.blue - fg.blue, 0, - 0, 0, 0, fg.alpha + sc->red - fg->red, sc->green - fg->green, sc->blue - fg->blue, 0, + wc->red - fg->red, wc->green - fg->green, wc->blue - fg->blue, 0, + ec->red - fg->red, ec->green - fg->green, ec->blue - fg->blue, 0, + 0, 0, 0, fg->alpha }); - graphene_vec4_init (&offset, fg.red, fg.green, fg.blue, 0); + + graphene_vec4_init (&offset, fg->red, fg->green, fg->blue, 0); gtk_snapshot_push_color_matrix (snapshot, &matrix, &offset); gtk_snapshot_append_texture (snapshot, -- 2.30.2